﻿<div class="@ClassName" style="@Style">
    @if (!string.IsNullOrWhiteSpace(Label))
    {
        <div class="ant-form-item-label">
            <label class="@LabelClass">@Label</label>
            @if (!string.IsNullOrWhiteSpace(Tooltip))
            {
                <KIcon Icon="question-circle" Title="@Tooltip" />
            }
        </div>
    }
    else if (LabelTemplate != null)
    {
        <div class="ant-form-item-label">
            @LabelTemplate
        </div>
    }
    <div class="ant-form-item-control">
        @ChildContent
    </div>
</div>

@code {
    private string ClassName => CssBuilder.Default("ant-form-item ant-form-item-row ant-row").AddClass(Class).BuildClass();
    private string LabelClass => Required ? "ant-form-item-required" : "";

    /// <summary>
    /// 取得或设置样式类。
    /// </summary>
    [Parameter] public string Class { get; set; }

    /// <summary>
    /// 取得或设置样式。
    /// </summary>
    [Parameter] public string Style { get; set; }

    /// <summary>
    /// 取得或设置标题。
    /// </summary>
    [Parameter] public string Label { get; set; }

    /// <summary>
    /// 取得或设置标题模板。
    /// </summary>
    [Parameter] public RenderFragment LabelTemplate { get; set; }

    /// <summary>
    /// 取得或设置提示文字。
    /// </summary>
    [Parameter] public string Tooltip { get; set; }

    /// <summary>
    /// 取得或设置是否必填。
    /// </summary>
    [Parameter] public bool Required { get; set; }

    /// <summary>
    /// 取得或设置子内容。
    /// </summary>
    [Parameter] public RenderFragment ChildContent { get; set; }
}